package com.bsh.service;

import java.util.List;
import java.util.Map;

import com.bsh.mybatis.model.Role;
import com.bsh.mybatis.model.RoleModule;
import com.bsh.utils.Pager;

public interface RoleService {

	/**
	 * 角色列表分页
	 * 
	 * @param start
	 * @param end
	 * @return
	 */
	List<Map<String, Object>> getPage(Pager pager, String roleName, String email);

	/**
	 * 查角色
	 * 
	 * @param roleid
	 * @return
	 */
	Role getRole(Integer roleid);

	/**
	 * 添加角色
	 * 
	 * @param roleid
	 * @return
	 */
	Integer addRole(Role role);

	/**
	 * 修改角色
	 * 
	 * @param roleid
	 * @return
	 */
	Integer editRole(Role role);

	/**
	 * 禁用角色
	 * 
	 * @param roleid
	 * @return
	 */
	Integer enableRole(int id, boolean isEnabele);

	/**
	 * 批量禁用角色
	 * 
	 * @param roleid
	 * @return
	 */
	Integer disableBatch(int[] idList);

	/**
	 * 批量启用角色
	 * 
	 * @param roleid
	 * @return
	 */
	Integer enableBatch(int[] idList);

	/**
	 * 删除角色
	 * 
	 * @param roleid
	 * @return
	 */
	Integer deleteRole(int roleid);

	/**
	 * 查看所有角色
	 * 
	 * @param roleid
	 * @return
	 */
	List<Role> getRoles();

	/**
	 * 设置角色的模块
	 */
	void setRoleModules(int roleId, String[] moduleList);

	/**
	 * 读取角色的模块列表 
	 * @param roleId
	 */
	List<RoleModule> getRolePermission(int roleId);

	/**
	 * 设置管理员的角色
	 */
	void setAdminRole(int adminId, String[] roleList);

	/**
	 * 读取管理员的角色
	 * @param roleId
	 */
	List<Role> getAdminRoles(int adminId);

}